babl: use babl_conversion_process where appropriate
authorØyvind Kolås <pippin@gimp.org>
Sun, 14 Jan 2018 21:15:12 +0000 (22:15 +0100)
committerØyvind Kolås <pippin@gimp.org>
Sun, 14 Jan 2018 22:29:36 +0000 (23:29 +0100)
Instead of overloading babl_process() with two tasks, both fishes and
conversions, use the conversion specific API for conversions directly.

babl/babl-conversion.h
babl/babl-fish-path.c
babl/babl-fish-reference.c
babl/babl-fish.h
export-symbols

index 25bbeea25d8018d4917e89fa7438f4caf70a4eea..f373e381cb54c89f3a1eefce20fddd094fc1c372 100644 (file)
@@ -44,6 +44,7 @@ _BablConversion {
   const Babl            *destination;
   void (*dispatch) (const Babl *babl, const char *src, char *dst, long n,
                     void           *user_data);
+  void                  *data;  /* user data */
 
   long                   cost;
   double                 error;
@@ -53,7 +54,6 @@ _BablConversion {
       BablFuncPlane      plane;
       BablFuncPlanar     planar;
     } function;
-  void                  *data;  /* user data */
   int                    processings;
   long                   pixels;
 };
index 741f81e923875987932fc3abd1d44821e04e0e0c..dbfa4de2f07614785bc3ab75f32d4bdc75b0a461 100644 (file)
@@ -705,6 +705,7 @@ _babl_process (Babl *babl,
       case BABL_CONVERSION_LINEAR:
       case BABL_CONVERSION_PLANE:
       case BABL_CONVERSION_PLANAR:
+        babl_assert (0);
         babl_conversion_process (babl, source, destination, n);
         break;
 
index a018566e534de00ac53eecc3f144cafc842b0fbb..072c10fb261fee80362b555f625ea01948d1777b 100644 (file)
@@ -195,9 +195,8 @@ convert_to_double (BablFormat      *source_fmt,
           if (source_fmt->component[j] ==
               source_fmt->model->component[i])
             {
-              babl_process (assert_conversion_find (src_img->type[0],
-                                                    dst_img->type[0]),
-                            src_img, dst_img, n);
+              babl_conversion_process (assert_conversion_find (src_img->type[0], dst_img->type[0]),
+                                       (void*)src_img, (void*)dst_img, n);
               found = 1;
               break;
             }
@@ -266,9 +265,9 @@ convert_from_double (BablFormat *destination_fmt,
               src_img->data[0] =
                 destination_double_buf + (src_img->type[0]->bits / 8) * j;
 
-              babl_process (assert_conversion_find (src_img->type[0],
-                                                    dst_img->type[0]),
-                            src_img, dst_img, n);
+              babl_conversion_process (assert_conversion_find (src_img->type[0],
+                                       dst_img->type[0]),
+                                       (void*)src_img, (void*)dst_img, n);
               break;
             }
         }
@@ -305,9 +304,9 @@ ncomponent_convert_to_double (BablFormat       *source_fmt,
 
   dst_img->data[0] = source_double_buf;
 
-  babl_process (
+  babl_conversion_process (
     assert_conversion_find (src_img->type[0], dst_img->type[0]),
-    src_img, dst_img,
+    (void*)src_img, (void*)dst_img,
     n * source_fmt->components);
   babl_free (src_img);
   babl_free (dst_img);
@@ -339,9 +338,9 @@ ncomponent_convert_from_double (BablFormat *destination_fmt,
   dst_img->type[0] = destination_fmt->type[0];
   src_img->data[0] = destination_double_buf;
 
-  babl_process (
+  babl_conversion_process (
     assert_conversion_find (src_img->type[0], dst_img->type[0]),
-    src_img, dst_img,
+    (void*)src_img, (void*)dst_img,
     n * destination_fmt->components);
 
   dst_img->data[0] += dst_img->type[0]->bits / 8;
@@ -499,14 +498,14 @@ babl_fish_reference_process (const Babl *babl,
       );
     if (conv->class_type == BABL_CONVERSION_PLANAR)
       {
-        babl_process (
+        babl_conversion_process (
           conv,
-          source_image, rgba_image,
+          (void*)source_image, (void*)rgba_image,
           n);
       }
     else if (conv->class_type == BABL_CONVERSION_LINEAR)
       {
-        babl_process (
+        babl_conversion_process (
           conv,
           source_double_buf, rgba_double_buf,
           n);
@@ -535,14 +534,14 @@ babl_fish_reference_process (const Babl *babl,
       BABL (babl->fish.destination)->format.model);
     if (conv->class_type == BABL_CONVERSION_PLANAR)
       {
-        babl_process (
+        babl_conversion_process (
           conv,
-          rgba_image, destination_image,
+          (void*)rgba_image, (void*)destination_image,
           n);
       }
     else if (conv->class_type == BABL_CONVERSION_LINEAR)
       {
-        babl_process (
+        babl_conversion_process (
           conv,
           rgba_double_buf, destination_double_buf,
           n);
index 954536a3f28d3f17c9cba3f71fff2eb06879ebb8..9f0cdd657309f89029967a0e8ecf0dee3d159bb8 100644 (file)
@@ -32,6 +32,7 @@ typedef struct
   const Babl     *source;
   const Babl     *destination;
   void           (*dispatch) (const Babl *babl, const char *src, char *dst, long n);
+  void            *data;  /* user data */
   double          error;    /* the amount of noise introduced by the fish */
 
   /* instrumentation */
index 46c7b5b16cb4d0d5741e63ae56c7b21fe9bb11f9..301accebca2ea8286692a00e92d3f6214dd50e15 100644 (file)
@@ -37,7 +37,6 @@ babl_palette_reset
 babl_palette_set_palette
 babl_process
 babl_process_rows
-babl_fish_process
 babl_sampling
 babl_set_user_data
 babl_space